"""
celery配置

"""
from __future__ import absolute_import  # 拒绝隐式引入，因为celery.py的名字和celery的包名冲突，需要使用这条语句让程序正确地运行

import os

from dotenv import load_dotenv

load_dotenv('env.ini', encoding='utf-8')
REDIS_HOST = os.getenv('REDIS_HOST')
REDIS_PORT = os.getenv('REDIS_PORT')
REDIS_PASSWD = os.getenv('REDIS_PASSWD')
broker_url = "redis://:" + REDIS_PASSWD + "@" + REDIS_HOST + ":" + REDIS_PORT + "/0"  # 使用redis存储任务队列
result_backend = "redis://:" + REDIS_PASSWD + "@" + REDIS_HOST + ":" + REDIS_PORT + "/6"  # 使用redis存储结果

task_serializer = 'json'
result_serializer = 'json'
accept_content = ['json']
timezone = "Asia/Shanghai"  # 时区设置
worker_hijack_root_logger = False  # celery默认开启自己的日志，可关闭自定义日志，不关闭自定义日志输出为空
result_expires = 60 * 60 * 12  # 存储结果过期时间（默认1小时）

imports = [
    # 导入py文件
    "components.celery_task.tasks.cron",
]

beat_schedule = {
    # 监控
    "monitor": {
        "task": "components.celery_task.tasks.cron.monitor",  # 执行的函数
        "schedule": 3.0,
    },
    # "sync_tenant": {
    #     "task": "components.celery_task.tasks.cron.sync_tenant",  # 执行的函数
    #     "schedule": 3.0,
    # },
    # "sync_vll": {
    #     "task": "components.celery_task.tasks.cron.sync_vll",  # 执行的函数
    #     "schedule": 3.0,
    # },
    "pop_district_list": {
        "task": "components.celery_task.tasks.cron.pop_district_list",  # 执行的函数
        "schedule": 3.0,
    },
}
